<?php

/* * *********************************************************** */
/* * ******************** controller produto ******************* */
/* * ************ Desenvolvido por Antônio Ezequiel ************** */
/* * *********************************************************** */

//verifica se o usuario esta logado
if (!verificaUsuarioLogado())
    header("location: " . $configurator["siteadmin"] . '/login.A&V');
//verifica se a sessão expirou
//if (verificarExpiracaoSessao())
//    header("location: " . $configurator["siteadmin"] . '/login.A&V');
//verifica se o usuario tem permissao
if (!verificaPermissao($_GET['pg'])) {
    header("location: " . $configurator["siteadmin"] . '/erro_permissao.A&V');
}

//atauliza o log do usuario
atualizaLogUsuario($configurator);

//inclusão das classes
include($configurator["classes"] . "/produto.classes.php");
include($configurator["dao"] . "/produtoDao.php");
include($configurator["classes"] . "/editora.classes.php");
include($configurator["dao"] . "/editoraDao.php");
include($configurator["classes"] . "/categoria.classes.php");
include($configurator["dao"] . "/categoriaDao.php");
include($configurator["classes"] . "/autor.classes.php");
include($configurator["dao"] . "/autorDao.php");

//instanciação dos objetos
$_produto = new ProdutoDao();
$_editora = new EditoraDao();
$_categoria = new CategoriaDao();
$_autor = new AutorDao();

if ($_GET[auto_autor]) {
    $q = strtolower($_GET["q"]);
    if (!$q)
        return;

    $autores = $_autor->listarAutorAutoComplite($q);

    foreach ($autores as $key => $value) {
        $cod = $value['codigo'];
        $val = $value['nome'];
        $items[$cod] = $val;
    }

    foreach ($items as $key => $value) {
        if (strpos(strtolower($value), $q) !== false) {
            echo "$value\n";
        }
    }
    exit;
}

if ($_GET[auto_editora]) {
    $q = strtolower($_GET["q"]);
    if (!$q)
        return;

    $editoras = $_editora->listarEditoraAutoComplite($q);

    foreach ($editoras as $key => $value) {
        $cod = $value['codigo'];
        $val = $value['nome'];
        $items[$cod] = $val;
    }

    foreach ($items as $key => $value) {
        if (strpos(strtolower($value), $q) !== false) {
            echo "$value\n";
        }
    }
    exit;
}

if ($_GET[auto_categoria]) {
    $q = strtolower($_GET["q"]);
    if (!$q)
        return;

    $categorias = $_categoria->listarCategoriaAutoComplite($q);

    foreach ($categorias as $key => $value) {
        $cod = $value['codigo'];
        $val = $value['descricao'];
        $items[$cod] = $val;
    }

    foreach ($items as $key => $value) {
        if (strpos(strtolower($value), $q) !== false) {
            echo "$value\n";
        }
    }
    exit;
}

if ($_GET[ajax]) {
    if($_GET[editora] != '')
        $ediCodigo = $_editora->listarEditoraNome($_GET[editora]);
    if($_GET[autor] != '')
        $autCodigo = $_autor->listarAutorNome($_GET[autor]);
    if($_GET[categoria] != '')
        $catCodigo = $_categoria->listarCategoriaNome($_GET[categoria]);

    $codigo_q = addslashes($_GET[codigo]);
    $editora_q = addslashes($ediCodigo[codigo]);
    $categoria_q = addslashes($catCodigo[codigo]);
    $titulo_q = addslashes($_GET[titulo]);
    $autor_q = addslashes($autCodigo[codigo]);
    $ano_q = addslashes($_GET[ano]);
    $destaque_q = addslashes($_GET[destaque]);

    //inicializa a busca
    $ini = 'pro_ativo = 1';

    if (isset($_GET[titulo]) && $_GET[titulo] != "") {
        $titulo = " and pro_titulo like '%$titulo_q%'";
    }
    if (isset($_GET[editora]) && $_GET[editora] != "") {
        $editora = " and pro_edi_codigo = '$editora_q'";
    }
    if (isset($_GET[codigo]) && $_GET[codigo] != "") {
        $codigo = " and pro_cod = '$codigo_q'";
    }
    if (isset($_GET[categoria]) && $_GET[categoria] != "") {
        $categoria = " and pro_cat_codigo = '$categoria_q'";
    }
    if (isset($_GET[autor]) && $_GET[autor] != "") {
        $autor = " and pra_aut_codigo = '$autor_q'";
    }
    if (isset($_GET[ano]) && $_GET[ano] != "") {
        $ano = " and pro_ano = '$ano_q'";
    }
    if (isset($_GET[destaque]) && $_GET[destaque] != "") {
        $destaque = " and pro_destaque = '$destaque_q'";
    }

    // configuração para paginação
    $porPagina = 11;
    $pagina = $_GET[pag];

    if (!$pagina) {
        $inicio = 0;
        $pagina = 1;
    } else {
        $inicio = ($pagina - 1) * $porPagina;
    }

    $_produto->setAno($ano);
    $_produto->setAut_codigo($autor);
    $_produto->setCat_codigo($categoria);
    $_produto->setEdi_codigo($editora);
    $_produto->setTitulo($titulo);
    $_produto->setCod($codigo);
    $_produto->setCod($destaque);

    $produtos = $_produto->listarProdutosPaginadoAjax($ini, $inicio, $porPagina);

    $totRegistro = $_produto->totalPaginasAjax($ini);

    $totRegistros = $totRegistro['totRegistros'];

    //configuração da paginação
    $url = "produto_listagem.A&V!codigo!$_GET[codigo]&editora=$_GET[editora]&categoria=$_GET[categoria]&titulo=$_GET[titulo]&autor=$_GET[autor]&ano=$_GET[ano]&destaque=$_GET[destaque]&ajax=2&pag=" . ($pagina - 1);
    $url2 = "produto_listagem.A&V!codigo!$_GET[codigo]&editora=$_GET[editora]&categoria=$_GET[categoria]&titulo=$_GET[titulo]&autor=$_GET[autor]&ano=$_GET[ano]&destaque=$_GET[destaque]&ajax=2";
    $url3 = "produto_listagem.A&V!codigo!$_GET[codigo]&editora=$_GET[editora]&categoria=$_GET[categoria]&titulo=$_GET[titulo]&autor=$_GET[autor]&ano=$_GET[ano]&destaque=$_GET[destaque]&ajax=2&pag=" . ($pagina + 1);

    $smarty->assign("paginacao", montaPaginacaoAjax($totRegistros, $porPagina, $pagina, $url, $url2, $url3));

    $smarty->assign('produtos', $produtos);
    
    $smarty->assign('prodEncontrados', $totRegistros);

    $smarty->display("produto_listagem.tpl");
    
    exit;
}

// configuração para paginação
$porPagina = 12;
$pagina = $_GET['pag'];

if (!$pagina) {
    //pega a quantidade de registros da pesquisa
    $Registros = $_produto->totalPaginas();
    $_SESSION['totRegistros'] = $Registros['quantidade'];

    $inicio = 0;
    $pagina = 1;
} else {
    $inicio = ($pagina - 1) * $porPagina;
}

$totRegistros = $_SESSION['totRegistros'];

$produtos = $_produto->listarProdutosPaginado($inicio, $porPagina);

$smarty->assign("paginacao", montaPaginacao($totRegistros, $porPagina, $pagina));
$smarty->assign('produtos', $produtos);
$smarty->assign('prodEncontrados', $_SESSION['totRegistros']);

$smarty->display("produto_listagem.tpl");
?>

